<?php
defined('BASEPATH') OR exit('No direct script access allowed');
/**
 * Created by PhpStorm.
 * The project “dev”
 * File name “common_help.php”
 *
 * User: znx
 * Company: 思议创想
 * Q  Q: 865303386
 * Site: www.siyi360.com
 *
 * Date: 2017-02-08
 * Time: 19:08
 */

if (!function_exists('getAllController'))
{
    /*
     * getController
     * 取得所有控制器及控制器所属的方法
     * */
    function getAllController() {
        $CI = & get_instance();
        $CI->load->library('controllerlist');

        $result = $CI->controllerlist->getControllers();

        //过滤保留控制器
        unset($result['Common']);
        unset($result['Index']);

        return $result;
    }
}

if (!function_exists('left_menu')) {
    /**
     * left_menu
     * 管理后台系统菜单生成函数
     *
     * @param array $data 管理后台系统菜单数据
     * @return string
     */
    function create_menu($data)
    {
        // 无限遍历子菜单
        function sub_menu($data)
        {
            $html = '';
            if (isset($data) && is_array($data)) {
                foreach ($data as $subVal) {
                    if (isset($subVal['children']) && is_array($subVal['children'])) { // 判断是否有下级菜单
                        $html .= '<li>';
                        $html .= '    <a href="javascript:void(0);"><i class="fa fa-circle-o"></i> ' . $subVal['menu_name'];
                        $html .= '        <span class="pull-right-container">';
                        $html .= '            <i class="fa fa-angle-left pull-right"></i>';
                        $html .= '        </span>';
                        $html .= '    </a>';
                        $html .= '    <ul class="treeview-menu">';
                        $html .= sub_menu($subVal['children']);
                        $html .= '    </ul>';
                    } else {
                        if (empty($subVal['menu_action'])) {
                            $html .= '<li onclick="activeMenu(this);"><a href="javascript:void(0);"><i class="fa fa-circle"></i> ' . $subVal['menu_name'] . '</a>';
                        } else {
                            $html .= '<li onclick="activeMenu(this);"><a href="'.site_url($subVal['menu_module'].'/'.$subVal['menu_controller'].'/'.$subVal['menu_action']).'" target="main"><i class="fa fa-circle-o"></i> ' . $subVal['menu_name'] . '</a>';
                        }
                    }
                    $html .= '</li>';
                }
            }
            return $html;
        }

        // 生成管理后台菜单
        $html = '';
        foreach ($data as $key=>$items) {
            if (isset($items['children']) && is_array($items['children'])) {
                $html .= '<li>';
                $html .= '    <a href="javascript:void(0);">';
                $html .= '        <i class="fa fa-circle"></i> <span>' . $items['menu_name'] . '</span>';
                $html .= '        <span class="pull-right-container">';
                $html .= '            <i class="fa fa-angle-left pull-right"></i>';
                $html .= '        </span>';
                $html .= '    </a>';
                $html .= '    <ul class="treeview-menu">';
                $html .= sub_menu($items['children']);
                $html .= '    </ul>';
                $html .= '</li>';
            } else {
                if (empty($items['menu_action'])) {
                    $html .= '<li onclick="activeMenu(this);"><a href="javascript:void(0);"><i class="fa fa-circle"></i> ' . $items['menu_name'] . '</a>';
                } else {
                    $html .= '<li onclick="activeMenu(this);"><a href="'.site_url($items['menu_module'].'/'.$items['menu_controller'].'/'.$items['menu_action']).'" target="main"><i class="fa fa-circle"></i> ' . $items['menu_name'] . '</a>';
                }
            }
        }

        return $html;
    }
}

if (!function_exists('delDirAllFile')) {
    /*
     * delDirAllFile
     * 删除指定目录中的所有文件及文件夹
     *
     * @param string $dir 指定目录
     * @param boolean $isDelDir 是否删除文件夹
     * */
    function delDirAllFile($dir, $isDelDir=true) {
        $open_dir = opendir($dir); //打开目录
        //遍历出目录中所有文件
        while ($file=readdir($open_dir))
        {
            if ($file!='.' && $file!='..'&& $file!='index.html') { //排除目录中当前目录标识与上级目录标识
                $full_path = $dir.$file; //获取文件完整路径
                if (!is_dir($full_path)) { //判断文件名是否存在且在一个目录 http://php.net/manual/zh/function.is-dir.php
                    unlink($full_path); //删除文件
                } else {
                    if ($isDelDir) { //判断删除文件夹是否为true
                        delDirAllFile($dir); //删除文件夹
                    }
                }
            }
        }
    }
}

if (!function_exists('arr_foreach')) {
    /*
     * arr_foreach
     * 多维数组遍历，拼接输入字符串
     *
     * @param array $arr 需要遍历的数组
     * @param string $split 字符串之间的分隔符
     * */
    function arr_foreach($arr, $split=',') {
        static $str;
        if (!is_array ($arr)) {
            return $str;
        }

        foreach ($arr as $key => $val )
        {
            if (is_array ($val)) {
                arr_foreach ($val);
            } else {
                $str .= $val.$split;
            }
        }

        return rtrim($str, $split);
    }

/*  转换为一级数组
    function arr_foreach ($arr) {
        static $data;
        if (!is_array ($arr)) {
            return $data;
        }
        foreach ($arr as $key => $val ) {
            if (is_array ($val)) {
                arr_foreach ($val);
            } else {
                $data[]=$val;
            }
        }
        return $data;
    }*/
}